#version 320 es
precision mediump float;

layout (location = 0) out vec3 gPosition;
layout (location = 1) out vec3 gNormal;
layout (location = 2) out vec4 gAlbedoSpec;

uniform vec3 u_objectColor;

in vec3 v_normal;
in vec3 v_fragPos;  // 世界坐标系下的片元坐标

// gles 没有内置pow函数

void main() {

    // specular
    float specularStrength = 0.5;

    // 存储第一个G缓冲纹理中的片段位置向量
    gPosition = v_fragPos;
    // 同样存储对每个逐片段法线到G缓冲中
    gNormal = normalize(v_normal);
    // 和漫反射对每个逐片段颜色
    gAlbedoSpec.rgb = u_objectColor;
    // 存储镜面强度到gAlbedoSpec的alpha分量
    gAlbedoSpec.a = specularStrength;

}